<?php

/**
 * Evento form.
 *
 * @package    fisio-ud
 * @subpackage form
 * @author     Johan AR <j3valentin@gmail.com>
 */
class EventoForm extends BaseEventoForm
{
  public function configure() {
//    $this->widgetSchema['inicio'] = new sfWidgetFormDateTime(
//                    array(
//                        'culture' => 'es',
//                        'format' => '%day%/%month%/%year% %hour%:%minute%',
//                        'image' => '/images/calendar/Calendar.gif'
//                    )
//    );
    $this->widgetSchema['usuario_id'] = new sfWidgetFormInputHidden();
    $this->widgetSchema['inicio'] = new sfWidgetFormInputText(array(), array('readonly' => 'readonly', 'title' => 'Click para ver calendario'));
    $this->widgetSchema['fin'] = new sfWidgetFormInputText(array(), array('readonly' => 'readonly', 'title' => 'Click para ver calendario'));
    $this->widgetSchema['imagen'] = new sfWidgetFormInputFileEditable(
                    array(
                        'label' => 'Imagen',
                        'file_src' => '/uploads/evento/thumb_' . $this->getObject()->getImagen(),
                        'is_image' => true,
                        'edit_mode' => !$this->isNew(),
                        'with_delete' => false,
//                        'delete_label' => 'Eliminar',
                        'template' => '<div>%file%<br/>%input%</div>'
                    )
    );

    $this->validatorSchema['titulo'] = new sfValidatorString(array('max_length' => 45), array(
                'required' => 'El titulo es necesario.',
                'invalid' => 'El titulo no es v&aacute;lido.'
            ));

    $this->validatorSchema['descripcion'] = new sfValidatorString(array(), array(
                'required' => 'La descripci&oacute;n es necesaria.',
                'invalid' => 'La descripci&oacute;n no es v&aacute;lida.'
            ));

    $this->validatorSchema['inicio'] = new sfValidatorDateTime(array(), array(
                'required' => 'La fecha de inicio es necesaria.',
                'invalid' => 'La fecha de inicio no es v&aacute;lida.'
            ));

    $this->validatorSchema['imagen'] = new sfValidatorFile(
                    array(
                        'required' => false,
//                        'max_size' => 1048576,
//                        'mime_types' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/gif'),
                        'mime_types' => 'web_images',
                        'path' => sfConfig::get('sf_upload_dir') . '/evento/',
                        'validated_file_class' => 'sfResizedFile'
                    ),
                    array(
                        'invalid' => 'Invalid file.',
                        'required' => 'Select a file to upload.',
                    )
    );

    $this->validatorSchema->setPostValidator(
            new sfValidatorSchemaCompare('inicio', sfValidatorSchemaCompare::LESS_THAN, 'fin',
                    array('throw_global_error' => true),
                    array('invalid' => 'La fecha de inicio ("%left_field%") debe ser anterior a la fecha de finalizacion ("%right_field%")'))
    );
  }
}
